package cn.charlotte.pit.menu.supporter.button;

import cn.charlotte.pit.config.NewConfiguration;
import cn.charlotte.pit.data.PlayerProfile;
import cn.charlotte.pit.util.item.ItemBuilder;
import cn.charlotte.pit.util.menu.Button;
import me.clip.placeholderapi.PlaceholderAPI;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;

import java.util.ArrayList;
import java.util.List;

/**
 * @Creator Misoryan
 * @Date 2021/5/4 10:17
 */
public class SupporterEntranceButton extends Button {
    @Override
    public ItemStack getButtonItem(Player player) {
        final int price = NewConfiguration.getVipPrice();

        List<String> lines = new ArrayList<>();
        lines.add("");
        lines.add("&7展示您对天坑乱斗游戏的支持,");
        lines.add("&7并解锁专属的会员权益!");
        lines.add("");
        lines.add("&7会员权益:");
        lines.add("&e◼ &7可开关的 &e✬ &7会员标志显示");
        lines.add("&e◼ &7/events 查看范围两天内的&d事件&7排布表");
        lines.add("&e◼ &7/show 展示手中物品给房间内全部玩家");
        lines.add("&e◼ &7将 &c神&6话&e之&a甲 &7以专属染料进行染色");
        lines.add("&e◼ &7可自选的隐藏自身档案 (无法被他人/view查看)");
        lines.add("&e◼ &7末影箱#0 §e+3行" );
        lines.add("&e◼ &7获得经验/硬币加成(每级§e+5%)");
        if (true) { //移除了相关依赖，固定为true
            lines.add("&e    ◼ &7当前: &e+" + (5d * 1) + "%"); //移除了相关依赖，固定为true
        }
        lines.add("");
        PlayerProfile profile = PlayerProfile.getPlayerProfileByUuid(player.getUniqueId());

        try {

            if (profile.isSupporter()) {
                lines.add("&a&l感谢您的购买!");
            } else {
                lines.add("&e§lVIP3 §e及以上 §7自动获取天坑会员权益");
                lines.add(" ");
                lines.add("&8当会员权益增加新内容时,");
                lines.add("&8已激活的用户会自动获得新的会员权益.");
            }
            lines.add(" ");
            if (profile.isSupporter()) {
                lines.add("&e点击调整相关设定!");
            } else {
                lines.add("§c您当前的会员等级: §r" + PlaceholderAPI.setPlaceholders(player, "%avip_chat%")); //check if player have enough points
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return new ItemBuilder(Material.BEACON)
                .name("&e天坑乱斗会员")
                .lore(lines)
                .build();
    }

    @Override
    public void clicked(Player player, int slot, ClickType clickType, int hotbarButton, ItemStack currentItem) {
        return;
    }
}
